The Extensible Markup Language (XML) is a standard for encoding textual information that has been recommended by the World Wide Web Consortium (W3C). For a discussion of the XML standard, see, for example, Extensible Markup Language (XML) 1.0 W3C Recommendation, http://www.w3.org/TR/1998/REC-xml-19980210, incorporated by reference herein. The XML standard allows XML-enabled applications to inter-operate with other compliant systems for the exchange of encoded information.
XML documents utilize several basic concepts. XML documents store textual data in a hierarchical tree structure. Each XML document has one root node, often referred to as the root element, with the other nodes in the hierarchical tree being arranged as descendants of the root node. The XML standard specifies four types of nodes, namely, character nodes, processing instruction (PI) nodes, comment nodes and element nodes. An XML-based application can store data in all the different types of nodes and in all the fields of each node type. XML also utilizes a so-called document model approach, such as Document Type Definition or “DTD”, to define document attributes.
A number of applications, such as video on demand and other continuous media applications, have emerged for encoding and transmitting continuous media streams. The proposed MPEG-7 standard, for example, from the Motion Pictures Group, provides a specification for encoding video information as well as textual information related to the video source. Continuous media streams are typically transmitted using a packet-based communication system. Due to the unreliable nature of packet-based communication systems, however, the quality of the received stream may be impacted by packet loss. Thus, such continuous media transmission systems generally must include a mechanism that allows the receiver to adapt to lost packets. A number of techniques have been proposed or suggested for addressing packet loss in a continuous media transmission system, including redundant transmissions, retransmission, interleaving and forward error correction techniques. For a general discussion of such techniques for addressing packet loss in continuous media systems, see, for example, “Options for Repair of Streaming Media,” Network Working Group, Request for Comments No. 2354 (June, 1998), downloadable from ftp.isi.edu/in-notes/rfc2354.txt, incorporated by reference herein.
XMLNet is an application programming interface (API) for streaming XML documents. XMLNet allows information to be transferred over the Internet or another network in real time as a series of XML documents. The XML documents are delivered to the receiver in a serial fashion. The receiver must receive an entire XML document, however, before the receiver can decode and process any of the XML content contained in the XML document. For a discussion of XMLNet, see, for example, “XMLNet,” downloadable from home.earthlink.net/%7Earabbit/xmlnet (Dec. 9, 1998).
A need therefore exists for a method and apparatus that allows a user to prioritize of portions of an XML encoded document for transmission and allow a receiver to decode the portions that are received, even if other or lower priority portions of the complete XML document are not received, for example, in the event of a packet loss or before the complete XML document is received. A further need exists for a method and apparatus that permits streaming of an XML document in a prioritized manner that allows a only a portion of the XML document to be transmitted and decoded by the receiver, if so desired by a user.